ccac00a1938f819c9c9169a92aa25bf64ceb0421,src/main/java/com/builtbroken/icbm/content/rail/entity/EntityCart.java,EntityCart,moveEntity,#number#number#number#,466
Before Change
{
byY = ((AxisAlignedBB) collisionBoxe).calculateYOffset(this.boundingBox, byY);
}
this.boundingBox.offset(0.0D, byY, 0.0D);
//Calculate offset for x collision
for (Object collisionBoxe : collisionBoxes)
After Change
{
byY = 0;
}
else if (railSide == ForgeDirection.EAST || railSide == ForgeDirection.WEST)
{
byX = 0;
}
else if (railSide == ForgeDirection.SOUTH || railSide == ForgeDirection.NORTH)
{
byZ = 0;
}
//Store previous movement values
final double prevMoveX = byX;
final double prevMoveY = byY;
final double prevMoveZ = byZ;
//Get collision boxes
//TODO adjust by attached side
final List collisionBoxes = this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox.getOffsetBoundingBox(0, .1, 0).addCoord(byX, byY, byZ));
//No Y movement or collision detection is needed in Y direction of on top or bottom of a block
if (railSide != ForgeDirection.DOWN && railSide != ForgeDirection.UP)
{
//Calculate offset for y collision
for (Object collisionBoxe : collisionBoxes)
{
byY = ((AxisAlignedBB) collisionBoxe).calculateYOffset(this.boundingBox, byY);
}
this.boundingBox.offset(0.0D, byY, 0.0D);
}
//No X movement or collision detection is needed in X direction if rail is east or west
if (railSide != ForgeDirection.EAST && railSide != ForgeDirection.WEST)
{
//Calculate offset for x collision
for (Object collisionBoxe : collisionBoxes)
{
byX = ((AxisAlignedBB) collisionBoxe).calculateXOffset(this.boundingBox, byX);
}
this.boundingBox.offset(byX, 0.0D, 0.0D);
}
//No Z movement or collision detection is needed in Z direction if rail is north or south
if (railSide != ForgeDirection.NORTH && railSide != ForgeDirection.SOUTH)
{
//Calculate offset for z collision
for (Object collisionBoxe : collisionBoxes)